package com.ruoyi.outbound.consignment.mapper;

import java.util.List;
import com.ruoyi.outbound.consignment.domain.Consignment;

/**
 * 发货通知单Mapper接口
 * 
 * @author zzx
 * @date 2024-02-07
 */
public interface ConsignmentMapper 
{
    /**
     * 查询发货通知单
     * 
     * @param consignmentId 发货通知单主键
     * @return 发货通知单
     */
    public Consignment selectConsignmentByConsignmentId(String consignmentId);

    /**
     * 查询发货通知单列表
     * 
     * @param consignment 发货通知单
     * @return 发货通知单集合
     */
    public List<Consignment> selectConsignmentList(Consignment consignment);

    /**
     * 新增发货通知单
     * 
     * @param consignment 发货通知单
     * @return 结果
     */
    public int insertConsignment(Consignment consignment);

    /**
     * 修改发货通知单
     * 
     * @param consignment 发货通知单
     * @return 结果
     */
    public int updateConsignment(Consignment consignment);

    /**
     * 删除发货通知单
     * 
     * @param consignmentId 发货通知单主键
     * @return 结果
     */
    public int deleteConsignmentByConsignmentId(String consignmentId);

    /**
     * 批量删除发货通知单
     * 
     * @param consignmentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteConsignmentByConsignmentIds(String[] consignmentIds);

    /**
     *审核出库单
     * @param consignmentId
     * @return
     */
    int updateOnAudit(String consignmentId);
    /**
     *反审核出库单
     * @param consignmentId
     * @return
     */
    int updateUnAudit(String consignmentId);

    void updateOnClose(String consignmentId);

    void updateUnClose(String consignmentId);

    Long selectReturnNumberByClientOrderNumber(String clientOrderNumber);
}
